﻿// Ajax JScript 函数库 文件

var req=null;//http_request http请求
var console=null;
var txt =null;//返回响应类型
var READY_STATE_UNINITIALIZED=0;//0 (未初始化) 
var READY_STATE_LOADING=1;//1 (正在装载)
var READY_STATE_LOADED=2;//2 (装载完毕) 
var READY_STATE_INTERACTIVE=3;//3 (交互中) 
var READY_STATE_COMPLETE=4;//4 (完成) 

var HTMLid = null;//HTML控件ID
var HTMLKJ = null;//HTML控制件如div

//装载XML 数据文件函数 
//  LoadXMLDoc(url)
// 参数url相对于文档的路径
// post 是HTTP请求类型 POST GET
// 参数txt 返回服务器的响应 的文本方式
// Tx 类型 txt,XML (responseText – 以文本字符串的方式返回服务器的响应
// responseXML – 以XMLDocument对象方式返回响应.处理XMLDocument对象可以用java-script DOM函数 )
// ff 页面显示 表单字段 名
// id 显示信息的ID名
// KJ HTML文本输出方式t为文本方式输出其它为HTML输出

function LoadXMLDoc(ff,url,post,tx,id,KJ)
 {
    HTMLid = id;//把HTMLI的ID值傳給全局變數
    HTMLKJ = KJ;//看看是HTML輸出還是TXT輸出
    txt = tx;   //类型 txt,XML
     var xff ="";
	try
	{
	     xff = document.all(ff).value;//得到字段的值
	}
	catch(e)
	{
	    xff = document.getElementById(ff).value;//得到字段的值
	}
	//url= url+"?" + Xurl(ff);//用GET方式发送东东 得到URL后
	
	url= url+"?"+ff+"="+xff;//用GET方式发送东东
    if (window.XMLHttpRequest)// Mozilla, Safari, ...
        {
            req = new XMLHttpRequest();
        } else if (window.ActiveXObject) 
        {//// IE
            req = new ActiveXObject("Microsoft.XMLHTTP");
        }
    if (req) //如果创建对象成功
        {
           
           if ( tx=="txt" )
           {
             req.onreadystatechange = UpdataPage;//UpdataPage()是方法

           }
           else
           {
             req.onreadystatechange = UpdataPageXML;//UpdataPageXML()以XMLDocument对象方式返回响应           

           } 
		   
		    req.open(post,url , true);//true表示异步发送请求
            req.send(null);//发送
			//UpdataPage(txt);//更新处页面数据函数  UpdataPage(
         //   req.open(post, url, true);//true表示异步发送请求
           // req.send(null);//发送
			//UpdataPage(txt);//更新处页面数据函数  UpdataPage()
        }
}
/*    
　　readyState的取值如下: 
　　0 (未初始化) 
　　1 (正在装载) 
　　2 (装载完毕) 
　　3 (交互中) 
　　4 (完成) 
*/

//更新处页面数据函数  UpdataPage()
//  UpdataPage
// 参数txt 返回服务器的响应 的文本方式
// Txt 类型 txt,XML (responseText – 以文本字符串的方式返回服务器的响应


function UpdataPage()
{
    var Ready = req.readyState;//请求状态
    var HTTP_Data=null;//服务器返回的HTTP信
    
    
    if( Ready == READY_STATE_COMPLETE )//READY_STATE_COMPLETE=4  4 (完成) 
    {

            HTTP_Data = req.responseText;//以文本字符串的方式返回服务器的响应
            

    }
    else
    {
	 var m = "<marquee behavior='alternate'>";
	 var a = "</marquee>";
        if( Ready == READY_STATE_UNINITIALIZED ) //(未初始化)
        {
            HTTP_Data = m+"数据未初始化..."+a;
        }
        
        if( Ready == READY_STATE_LOADING ) //(数据正在装载)
        {
            HTTP_Data = m+"数据正在装载..."+a;
        }
        
        if( Ready == READY_STATE_LOADED ) //(装载完毕)
        {
            HTTP_Data = m+"数据装载完毕..."+a;
        }
        
        if( Ready == READY_STATE_INTERACTIVE ) //(交互中)
        {
            HTTP_Data = m+"数据交互中..."+a;
        }
        
      
    }
    
    Write_HTTP_Data(HTTP_Data);//传入输出函数
    
   
}

//更新处页面数据函数  UpdataPageXML()
// responseXML – 以XMLDocument对象方式返回响应.处理XMLDocument对象可以用java-script DOM函数 )


function UpdataPageXML()
{
    var Ready = req.readyState;//请求状态
    var HTTP_Data=null;//服务器返回的HTTP信
    
    
    if( Ready == READY_STATE_COMPLETE )//READY_STATE_COMPLETE=4  4 (完成) 
    {
       
            HTTP_Data = req.responseXML;//以XMLDocument对象方式返回响应.处理XMLDocument对象可以用java-script DOM函数 )
            

    }
    else
    {
	 var m = "<marquee behavior='alternate'>";
	 var a = "</marquee>";
        if( Ready == READY_STATE_UNINITIALIZED ) //(未初始化)
        {
            HTTP_Data = m+"数据未初始化..."+a;
        }
        
        if( Ready == READY_STATE_LOADING ) //(数据正在装载)
        {
            HTTP_Data = m+"数据正在装载..."+a;
        }
        
        if( Ready == READY_STATE_LOADED ) //(装载完毕)
        {
            HTTP_Data = m+"数据装载完毕..."+a;
        }
        
        if( Ready == READY_STATE_INTERACTIVE ) //(交互中)
        {
            HTTP_Data = m+"数据交互中..."+a;
        }
        
      
    }
    
    Write_HTTP_Data(HTTP_Data);//传入输出函数
    
   
}



function Write_HTTP_Data(HTTP_Data)//数据处理输出函数
{
    

    if(HTMLKJ != "t")
    {
       try
       {
        document.all(HTMLid).innerHTML = HTTP_Data;
       }
       catch(e)
       {
           document.getElementById(HTMLid).innerHTML = HTTP_Data;
       }
     } 
     else   
     {
        
        try
       {
        document.all(HTMLid).innerText = HTTP_Data;
       }
       catch(e)
       {
           document.getElementById(HTMLid).innerText = HTTP_Data;
       }
     }   
   
}



///Xurl(form_name) //對資料進行URL格式化
//參數 form_name 要提交的表單中的字段名
// 返回格式華的URL GET 形式


//沒寫好,不能得到數組的上下標
function Xurl( form_name)
{   var te = null;//
    var uu  = "";//URl
    var formValue=null;
    
  te = form_name.split(",");//以","拆分表單名

    try
    {
	    formValue = document.all(te[0]).value;//得到字段的值
	    uu += te[0] + "=" + formValue+ "&";//得到URL
    	
    	
	    formValue = document.all(te[1]).value;//得到字段的值
	    uu += te[1] + "=" + formValue+ "&";//得到URL
    }
    catch(e)
    {
        formValue = document.getElementById(te[0]).value;//得到字段的值
	    uu += te[0] + "=" + formValue+ "&";//得到URL
    	
    	
	    formValue = document.getElementById(te[1]).value;//得到字段的值
	    uu += te[1] + "=" + formValue+ "&";//得到URL
    }

		
   return (uu);//返回URL
   
}

//